<?php
class Admin_Model_DbTable_produits extends Zend_Db_Table_Abstract
{
	protected $_name = 'produits';
	protected $_primary = 'id';
		
	protected $_referenceMap = array(
		// Relation (père fils)vers la table Catégories
		'categorie'=> array(
			'columns'=>array('categorie'),
			'refTableClass'=>'Admin_Model_DbTable_Categories',
			'refColumns'=>array('id')
		),
		'users'=> array(
				'columns'=> array('username'),
				'refTableClass'=> 'Front_Model_DbTable_Users',
				'refColumns'=> array('id')
		),
		// Ajouter ici les autres relations...
// 			'nom-table'=> array(
// 					'columns'=>array('nom-table'),
// 					'refTableClass'=>'Le modele de la table',
// 					'refColumns'=>array('id')
// 			),
	);
		
	//Récupérer tous les produits
	public function getAllProduits()
	{
		$produits = $this->fetchAll();		
		return $produits;
		
	}
	
	public function obtenirProduit($id)
	{
		$id = (int)$id;
		$row = $this->fetchRow('id = ' . $id);
		
		if (!$row) {
			throw new Exeption('Count not find row $id');
		}
		return $row->toArray();
	}
	
	public function addProduit($name, $price, $qtt, $unite, $categorie, $date, $description)
	{
		$data = array(
				'name'=> $name,
				'quantite'=> $qtt,
				'prix'=> $price,				
				'unite'=>$unite,
				'categorie'=>$categorie,
// 				'date_creation'=>$date,
				'description' => $description,
		);
		
		return $this->insert($data);
	}
	
	public function editeProduit($id, $categorie, $name,  $price, $qtt, $unite, $description)
	{
		$data = array(
				'categorie' => (int)$categorie,
				'name' => $name,
				'prix'=> $price,
				'quantite' => $qtt,								
				'unite' => $unite,
// 				'date_creation'=> $date,
				'description' => $description,	
		);
		$this->update($data, 'id = '. (int)$id);
	}
	
	public function deleteProduit($id)
	{
		$this->delete('id =' . (int)$id);
	}
	
	public function getOnePageOfProduitEntries($page=1) {
	
		$query = $this->select();
		$paginator = new Zend_Paginator(
			new Zend_Paginator_Adapter_DbTableSelect($query)
		);
		$paginator->setItemCountPerPage(3);
		$paginator->setCurrentPageNumber($page);
		return $paginator;
	}

}